iT邦幫忙

2025 iThome 鐵人賽

DAY 15
0
佛心分享-IT 人自學之術

OpwnCV影像處理新手村系列 第 15

🚀 DAY 15:影像形態學運算(Morphological Transformations)|Erosion、Dilation、Opening、Closing

  • 分享至 

  • xImage
  •  

影像形態學運算是一種根據影像中物體形狀進行處理的方法,常用於去除雜訊、分離物體、填補空洞,主要應用於二值化影像。這些運算能夠強化影像結構,提升後續分析的準確性。


📌 形態學運算的基本概念

形態學運算依賴「卷積核(Kernel)」進行像素區域的操作。常見運算包括:

  1. 膨脹(Dilation):擴張白色區域,填補小黑洞。
  2. 侵蝕(Erosion):縮小白色區域,去除雜點。
  3. 開運算(Opening):先侵蝕再膨脹,用於去除雜訊。
  4. 閉運算(Closing):先膨脹再侵蝕,用於填補白色區域的小洞。

🖼 測試圖片準備

import cv2
import numpy as np


img = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)
# 進行二值化處理
_, binary = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)
cv2.imshow('Binary', binary)

# 將以下程式碼放在所有顯示語句的最後面
cv2.waitKey()
cv2.destroyAllWindows()

https://ithelp.ithome.com.tw/upload/images/20250920/20129482HiPg2EPF70.png


🔹 1. 膨脹(Dilation)


# 建立 5x5 的卷積核
kernel = np.ones((5,5), np.uint8)
dilation = cv2.dilate(binary, kernel, iterations=1)
cv2.imshow('Dilation', dilation)

📌 說明

  • 膨脹會讓白色區域「變大」,適合用來填補白色區域的小黑洞或連接斷裂的物體。
  • iterations 代表膨脹的次數,數值越大效果越明顯。

效果示意:

https://ithelp.ithome.com.tw/upload/images/20250920/201294828qPY4577Wv.png


🔹 2. 侵蝕(Erosion)


# 建立 5x5 的卷積核
kernel = np.ones((5,5), np.uint8)
erosion = cv2.erode(binary, kernel, iterations=1)
cv2.imshow('Erosion', erosion)

📌 說明

  • 侵蝕會讓白色區域「縮小」,適合去除小的白色雜點或分離相連物體。
  • kernel 越大,侵蝕效果越明顯,但也可能損失細節。

效果示意:

https://ithelp.ithome.com.tw/upload/images/20250920/201294825uUJl8XASy.png


🔹 3. 開運算(Opening)


# 開運算:先侵蝕再膨脹
opening = cv2.morphologyEx(binary, cv2.MORPH_OPEN, kernel)
cv2.imshow('Opening', opening)

📌 說明

  • 開運算 = 侵蝕 → 膨脹
  • 適合去除雜訊但保留主要物體結構,常用於清理背景雜點。

效果示意:

https://ithelp.ithome.com.tw/upload/images/20250920/20129482wRdVgRZ3GL.png


🔹 4. 閉運算(Closing)


# 閉運算:先膨脹再侵蝕
closing = cv2.morphologyEx(binary, cv2.MORPH_CLOSE, kernel)
cv2.imshow('Closing', closing)

📌 說明

  • 閉運算 = 膨脹 → 侵蝕
  • 適合填補物體內部的小黑洞,增強物體的完整性。

效果示意:

https://ithelp.ithome.com.tw/upload/images/20250920/20129482dyHN73W4As.png


📊 方法比較

方法 特點 應用場景
Dilation 擴大白色區域,填補黑洞 補洞、連接區域
Erosion 縮小白色區域,去除雜點 消除雜訊、分離物體
Opening 去除小白點雜訊 清理影像背景
Closing 填補白色區域小黑洞 增強物體完整性

📖 今日結語

形態學運算能有效改善二值化影像的品質,使物體邊界更清晰、雜訊更少。這些方法在影像前處理與電腦視覺任務中扮演關鍵角色,能提升物體偵測、分割等後續工作的精度與穩定性。


上一篇
🚀 DAY 14:影像二值化(Thresholding)|Threshold、Adaptive Threshold、Otsu
下一篇
🚀 DAY 16:邊緣檢測(Edge Detection)|Sobel、Laplacian、Canny
系列文
OpwnCV影像處理新手村22
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言